/*!
 * Vercel 服务器部署会自动抽取 middleware 中的代码到边缘服务器（类似CDN）运行，以提升性能和安全性，拦截请求并在边缘服务器处理它们。
 * 自己部署时，没有这个功能，但是需要注意中间件仅支持 Edge Runtime，不支持 Node.js Runtime 的设定，否则会导致打包验证警告，如：`xxx is not supported in the Edge Runtime. `
 * Edge Runtime 支持的方法: https://nextjs.org/docs/app/api-reference/edge
 * @see https://nextjs.org/docs/app/api-reference/file-conventions/middleware
 */
import { NextRequest } from 'next/server';
import { authMiddleware } from 'src/lib/authMiddleware';

export async function middleware(request: NextRequest) {
  return authMiddleware(request);
}

export const config = {
  matcher: [
    /*
     * Match all request paths except for the ones starting with:
     * - _next/static (static files)
     * - _next/image (image optimization files)
     * - favicon.ico, sitemap.xml, robots.txt (metadata files)
     */
    '/((?!_next/static|_next/image|favicon.ico|sitemap.xml|robots.txt).*)',
  ],
};
